package cn.iocoder.yudao.module.erp.controller.admin.erpSupplierguide.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import java.math.BigDecimal;

@Schema(description = "管理后台 - ERP 供应商指导价新增/修改 Request VO")
@Data
public class ErpSupplierGuideSaveReqVO {

    @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "30270")
    private Long id;

    @Schema(description = "物料名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "青菜")
    @NotEmpty(message = "物料名称不能为空")
    private String name;

    @Schema(description = "品类", requiredMode = Schema.RequiredMode.REQUIRED, example = "蔬菜类")
    @NotEmpty(message = "品类不能为空")
    private String type;

    @Schema(description = "单位", requiredMode = Schema.RequiredMode.REQUIRED, example = "斤")
    @NotEmpty(message = "单位不能为空")
    private String unit;

    @Schema(description = "等级", requiredMode = Schema.RequiredMode.REQUIRED, example = "普通")
    @NotEmpty(message = "等级不能为空")
    private String level;

    @Schema(description = "产地", requiredMode = Schema.RequiredMode.REQUIRED, example = "广州")
    @NotEmpty(message = "产地不能为空")
    private String origin;

    @Schema(description = "供应商指导价", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotNull(message = "供应商指导价不能为空")
    private BigDecimal guidePrice;

    @Schema(description = "官方指导价", example = "1.37")
    private BigDecimal systemPrice;

    @Schema(description = "有效期", requiredMode = Schema.RequiredMode.REQUIRED, example = "2025-05-26")
    @NotEmpty(message = "有效期不能为空")
    private String validityStartTime;

    @Schema(description = "有效期", requiredMode = Schema.RequiredMode.REQUIRED, example = "2025-05-26")
    @NotEmpty(message = "有效期不能为空")
    private String validityEndTime;

    @Schema(description = "备注", example = "你猜")
    private String remark;

}
